Computer programs (user applications) were created to assist users in interacting with computing devices in order to achieve a certain goal. For instance, a word processor can provide a user with the ability to read and interact with information the user is entering into an electronic document, using one or more peripheral devices (e.g., keyboard and/or a pointing device). For example, a user could be drafting a document and determine that a portion of the information recorded in the document must be moved from its current location and placed in another location within the document. The user may also determine that the information needs to be added to another word processor document, or another user application that is not a word processor. In any of the events presented above, the user can enter a command using a peripheral device that corresponds to removing (i.e., cutting) the designated information, and placing (i.e., pasting) or entering the designated information into another document, or another computer program. The cutting and pasting operations require the operating system to move data associated with the designated information from one place in the computer's hardware (i.e., memory) to another place in the computer's hardware. These operations, as well as other operations performed by other user applications can cause the user application to respond slowly, and in some instances stop working altogether (i.e., crash). If user applications are installed on a standalone desktop or laptop computer owned by the user, they can simply restart the user application, or restart the computer, and the issues are usually resolved. If, however, the user applications are stored on a server (physical or virtual) hosted by a third-party, the user might not be able to restart the application, and they cannot restart the server. As a result the owner, or operators, of the server may have to diagnose the problem in order to resolve the issues with the application.
Currently, network administrators who are responsible for the maintenance and daily operations of user application services hosted on enterprise networks have only one way of fixing or updating user applications. The network administrators have to log into the servers on the enterprise network hosting the user applications, with restricted access to certain features of the user applications. When the network administrator logs into the server, the server can begin to operate in maintenance mode. This mode can be activated by a network administrator in order to perform updates, or to fix user applications that are experiencing problems. While the network administrator is logged into the server in maintenance mode, users are prevented from logging into a server hosting a user application that the user needs to use, so the enterprise network will log the user into another server (i.e., load balance the user to another server). However, the enterprise network does not distinguish between network administrator connections and normal user connections, so it also prevents network administrators from logging into the server to perform maintenance and/or troubleshoot issues with user applications. In order to work around this problem, network administrators often modify the server's load balancer or remove servers from worker groups (groups of servers hosting user applications). This approach prevents network administrators from logging into the problematic server and/or launching the problematic user application. To solve this problem, network administrators frequently publish extra copies of user applications to specific servers, and assign the extra copies only to network administrators and selected test users.